/*
 * Copyright (c) 2016 EEFUNG Software Co.Ltd. All rights reserved.
 * 版权所有(c)2016湖南蚁坊软件有限公司。保留所有权利。
 */

package com.zidian.leader.common.util;


import android.content.Context;

import com.orhanobut.hawk.Hawk;
import com.zidian.leader.entity.LoginResult;

import java.util.List;

/**
 * 对于 SharedPreference 文件的操作类
 * <p/>
 * Created by ZuoJi 2016/6/13
 */
public class HawkUtils {


    /**
     * 初始化 SharedPreference 存储
     */
    public static void init(Context context) {
        Hawk.init(context).build();
    }


    /**
     * 设置当前登录的用户名
     *
     * @param username 用户名
     */
    public static void setUsername(String username) {
        Hawk.put(StringConstants.PREFERENCE_KEY_USERNAME, username);
    }

    /**
     * 获取上一次成功登录的用户名称
     *
     * @return 上一次成功登录的用户名称
     */
    public static String getUsername() {
        return Hawk.get(StringConstants.PREFERENCE_KEY_USERNAME);
    }

    /**
     * 设置当前登录的密码
     *
     * @param password 密码
     */
    public static void setPassword(String password) {
        Hawk.put(StringConstants.PREFERENCE_KEY_PASSWORD, password);
    }

    /**
     * 获取上一次成功登录的用户密码
     *
     * @return 上一次成功登录的用户密码
     */
    public static String getPassword() {
        return Hawk.get(StringConstants.PREFERENCE_KEY_PASSWORD);
    }

    /**
     * 设置Token
     *
     * @param token
     */
    public static void setToken(String token) {
        Hawk.put(StringConstants.PREFERENCE_KEY_TOKEN, token);
    }

    /**
     * 获取Token
     */
    public static String getToken() {
        return Hawk.get(StringConstants.PREFERENCE_KEY_TOKEN);
    }

    /**
     * 设置权限
     *
     * @param roleId
     */
    public static void setRoleId(int roleId) {
        Hawk.put(StringConstants.PREFERENCE_KEY_ROLE_ID, roleId);
    }

    /**
     * 得到权限
     *
     * @return
     */
    public static int getRoleId() {
        return Hawk.get(StringConstants.PREFERENCE_KEY_ROLE_ID);
    }

    /**
     * 设置学院
     *
     * @param colleges
     */
    public static void setColleges(List<LoginResult.DataBean.CollegeListBean> colleges) {
        Hawk.put(StringConstants.PREFERENCE_KEY_COLLEGES, colleges);
    }

    /**
     * 得到学院
     *
     * @return
     */
    public static List<LoginResult.DataBean.CollegeListBean> getColleges() {
        return Hawk.get(StringConstants.PREFERENCE_KEY_COLLEGES);
    }

    /**
     * 设置领导名字
     *
     * @param name
     */
    public static void setLeadName(String name) {
        Hawk.put(StringConstants.PREFRENCE_KEY_LEAD_NAME, name);
    }

    /**
     * 得到领导名字
     *
     * @return
     */
    public static String getLeadName() {
        return Hawk.get(StringConstants.PREFRENCE_KEY_LEAD_NAME, "领导");
    }

    /**
     * 设置是否已登录
     *
     * @param isLogin
     */
    public static void setIsLogin(boolean isLogin) {
        Hawk.put(StringConstants.PREFERENCE_KEY_IS_LOGIN, isLogin);
    }

    public static boolean getIsLogin() {
        return Hawk.get(StringConstants.PREFERENCE_KEY_IS_LOGIN ,false);
    }

    /**
     * 设置当前应用的版本号
     *
     * @param versionCode 应用的版本号
     */
    public static void setAppVersionCode(int versionCode) {
        Hawk.put(StringConstants.PREFERENCE_KEY_VERSION_CODE, versionCode);
    }

    /**
     * 获取当前应用的版本号
     *
     * @return 版本号
     */
    public static int getAppVersionCode() {
        return Hawk.get(StringConstants.PREFERENCE_KEY_VERSION_CODE, -1);
    }

    /**
     * 把上次保存在preferences的数据全部清空,记录用户名和版本号
     */
    public static void clearPreferences() {
        String userName = getUsername();
        Hawk.deleteAll();
        setUsername(userName);
    }

}